package com.xlh.service.courseTest;

import com.xlh.dto.QuestionTransportDTO;
import org.springframework.jdbc.core.JdbcTemplate;

import java.util.List;
import java.util.Map;

public interface QuestionTransportService {

    /**
     * 迁移全部内容
     *
     * @param jdbcTemplate 数据源连接
     * @param userId
     * @param courseIdMap
     * @param chapterIdMap
     * @return
     */
    QuestionTransportDTO transportAll(JdbcTemplate jdbcTemplate, Long userId, Map<Long, Long> courseIdMap, Map<Long, Long> chapterIdMap);

    /**
     * 题库迁移
     *
     * @param jdbcTemplate   数据源连接
     * @param courseIdMap    课程id映射
     * @param chapterIdMap   章节id映射
     * @param isAllTransport 是否需要导入课程下全部题目，包括章节id为空的情况
     * @return 迁移后的id集
     */
    QuestionTransportDTO transport(JdbcTemplate jdbcTemplate, Long userId, Map<Long, Long> courseIdMap, Map<Long, Long> chapterIdMap, boolean isAllTransport);

    /**
     * 迁移章节id为空的内容
     *
     * @param jdbcTemplate
     * @param courseIdMap
     * @return
     */
    QuestionTransportDTO transportChapterNull(JdbcTemplate jdbcTemplate, Long userId, Map<Long, Long> courseIdMap);

    /**
     * 迁移章节id不为空的内容
     *
     * @param jdbcTemplate
     * @param courseIdMap
     * @param chapterIdMap
     * @return
     */
    QuestionTransportDTO transportChapterNotNull(JdbcTemplate jdbcTemplate, Long userId, Map<Long, Long> courseIdMap, Map<Long, Long> chapterIdMap);
}
